/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package szerelomuhelynyilvantartas;

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

/**
 *
 * @author csatari
 */
public final class AlkatrészMenü extends JFrame implements TételMenü{
    private Alkatrész alkatrész= null;
    int munkalapIndex;
    int alkatrészIndex=-1;
    JButton ok = new JButton("Ok");
    JTextField név = new JTextField(50);
    JTextField cikkszám = new JTextField(15);
    JTextField ár = new JTextField(15);
    public AlkatrészMenü(int munkalapIndex) {
        this.munkalapIndex = munkalapIndex;
        rajzolMenü();
    }
    public AlkatrészMenü(int munkalapIndex, Alkatrész alkatrész, int alkatrészIndex) {
        this.alkatrész = alkatrész;
        this.munkalapIndex = munkalapIndex;
        this.alkatrészIndex = alkatrészIndex;
        rajzolMenü();
        adatBeállítás();
    }
    @Override
    public void rajzolMenü() {
        if(alkatrész!=null) {
            setTitle("Alkatrész szerkesztése");
        }
        else {
            setTitle("Új Alkatrész");
        }
        setSize(new Dimension(200, 150));
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        setLocationRelativeTo(null);
        JPanel panel = new JPanel();
        panel.setLayout(new BorderLayout(10,0));
        
        JPanel centerPanel = new JPanel();
        centerPanel.setLayout(new GridLayout(0,2));
        centerPanel.setPreferredSize(new Dimension(100,100));
        
        centerPanel.add(new JLabel("Név:"));
        centerPanel.add(név);
        centerPanel.add(new JLabel("Cikkszám:"));
        centerPanel.add(cikkszám);
        centerPanel.add(new JLabel("Ár:"));
        centerPanel.add(ár);
        JLabel főcím = new JLabel("Alkatrész");
        főcím.setAlignmentX(Component.CENTER_ALIGNMENT);
        panel.add(főcím,BorderLayout.PAGE_START);
        panel.add(ok,BorderLayout.PAGE_END);
        panel.add(centerPanel,BorderLayout.CENTER);
        
        ok.addActionListener(new HozzáadListener());
        
        add(panel);
    }
    @Override
    public void adatBeállítás() {
        if(alkatrészIndex != -1) {
            név.setText(alkatrész.getNév());
            cikkszám.setText(Integer.toString(alkatrész.getCikkszám()));
            ár.setText(Integer.toString(alkatrész.getÁr()));
        }
    }
    private class HozzáadListener implements ActionListener {

        @Override
        public void actionPerformed(ActionEvent e) {
            int árMent;
            int cikkszámMent;
            try {
                árMent = Integer.parseInt(ár.getText());
                cikkszámMent = Integer.parseInt(cikkszám.getText());
                if(árMent < 0) {
                    árMent = 0;
                }
            }
            catch(NumberFormatException ex) {
                árMent = 0;
                cikkszámMent = 0;
            }
            
            if(alkatrész == null) {
                alkatrész = new Alkatrész(név.getText(),cikkszámMent,árMent);
                SzereloMuhelyNyilvantartas.munkalapok.get(munkalapIndex).hozzáad(alkatrész);
            }
            else {
                alkatrész.setNév(név.getText());
                alkatrész.setCikkszám(cikkszámMent);
                alkatrész.setÁr(árMent);
                SzereloMuhelyNyilvantartas.munkalapok.get(munkalapIndex).setTétel(alkatrészIndex, alkatrész);
            }
            dispose();
        }
    }
}
